Shell URI Routing এবং Navigation Parameters .NET MAUI অ্যাপ্লিকেশন ডেভেলপমেন্টে একটি গুরুত্বপূর্ণ অংশ, যা ডেভেলপারদের অ্যাপ্লিকেশনের মধ্যে স্ক্রীন (পেজ) নেভিগেশন এবং ডেটা পাস করার সুবিধা দেয়। Shell হল .NET MAUI এর একটি বৈশিষ্ট্য যা অ্যাপ্লিকেশনের নেভিগেশন এবং স্ট্রাকচারকে সহজ এবং সোজা করে তোলে।
এখানে Shell URI Routing এবং Navigation Parameters ব্যবহারের মাধ্যমে কিভাবে স্ক্রীন নেভিগেশন এবং ডেটা পাস করা যায় তা ব্যাখ্যা করা হবে।
1. Shell URI Routing
Shell URI Routing হল .NET MAUI তে একটি শক্তিশালী নেভিগেশন সিস্টেম, যা ডেভেলপারদের অ্যাপ্লিকেশন স্ক্রীনগুলোকে ইউআরআই (URI) এর মাধ্যমে রুটিং করার সুযোগ দেয়। আপনি Shell এর মাধ্যমে স্ক্রীনগুলোর মধ্যে সহজে নেভিগেট করতে পারেন এবং নির্দিষ্ট স্ক্রীন (পেজ) এ ডেটা পাস করতে পারেন।
Step 1: Shell URI Routing এর জন্য Shell Structure তৈরি করা
প্রথমে, AppShell.xaml ফাইলে বিভিন্ন পেজের জন্য রুটিং ও স্ক্রীন ডেফিনিশন তৈরি করুন।
<?xml version="1.0" encoding="utf-8" ?>
<Shell xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:YourAppNamespace"
x:Class="YourAppNamespace.AppShell">
<ShellContent Route="home" ContentTemplate="{DataTemplate local:HomePage}" />
<ShellContent Route="details" ContentTemplate="{DataTemplate local:DetailPage}" />
</Shell>
এখানে, ShellContent এর মধ্যে Route প্রপার্টি দ্বারা স্ক্রীন রুট করা হয়েছে, যেমন:
- home: হোম পেজের জন্য রুট।
- details: ডিটেইল পেজের জন্য রুট।
Step 2: URI Routing এর মাধ্যমে স্ক্রীন নেভিগেট করা
আপনি Shell এর মাধ্যমে স্ক্রীন নেভিগেশন করতে পারেন। এর জন্য, GoToAsync মেথড ব্যবহার করতে হবে।
// Navigate to the "details" page
await Shell.Current.GoToAsync("details");
এখানে, "details" রুটে পেজ নেভিগেট হবে।
Step 3: Query Parameters ব্যবহার করে ডেটা পাস করা
এখন, URI এর মাধ্যমে আপনি প্যারামিটার পাস করতে পারেন। GoToAsync মেথডের মধ্যে কুইরি প্যারামিটার পাস করা যাবে।
// Navigate to "details" page with a query parameter
await Shell.Current.GoToAsync("details?itemId=123&itemName=TestItem");
এখানে, "itemId" এবং "itemName" কুইরি প্যারামিটার হিসাবে পাস করা হয়েছে।
Step 4: Query Parameters গ্রহন করা
ডিটেইল পেজে কুইরি প্যারামিটার গ্রহন করতে, QueryProperty অ্যাট্রিবিউট ব্যবহার করতে হবে।
public partial class DetailPage : ContentPage
{
public string ItemId { get; set; }
public string ItemName { get; set; }
public DetailPage()
{
InitializeComponent();
}
protected override void OnAppearing()
{
base.OnAppearing();
// Access the query parameters
ItemId = (string)Shell.Current?.Parameters["itemId"];
ItemName = (string)Shell.Current?.Parameters["itemName"];
}
}
এখানে, Shell.Current?.Parameters ব্যবহার করে কুইরি প্যারামিটারগুলি এক্সেস করা হয়েছে এবং সেগুলি পেজে প্রদর্শন করা হয়েছে।
2. Navigation Parameters
Navigation Parameters ব্যবহার করে, আপনি এক পেজ থেকে অন্য পেজে ডেটা পাঠাতে পারেন। যখন আপনি একটি পেজ নেভিগেট করেন, তখন প্যারামিটার পাস করা যায় এবং পরবর্তী পেজে সেগুলি এক্সেস করা যায়।
Step 1: Navigation Parameters পাঠানো
NavigateAsync মেথড ব্যবহার করে আপনি প্যারামিটার পাস করতে পারেন।
// Pass parameters while navigating to the DetailsPage
await Navigation.PushAsync(new DetailPage(), true, new Dictionary<string, object>
{
{ "ItemId", 123 },
{ "ItemName", "TestItem" }
});
এখানে, ItemId এবং ItemName প্যারামিটার পাস করা হয়েছে DetailPage-এ।
Step 2: Navigation Parameters গ্রহণ করা
DetailPage-এ প্যারামিটারগুলি গ্রহণ করার জন্য OnAppearing বা OnNavigatedTo মেথড ব্যবহার করতে হবে।
public partial class DetailPage : ContentPage
{
public int ItemId { get; set; }
public string ItemName { get; set; }
public DetailPage()
{
InitializeComponent();
}
protected override void OnAppearing()
{
base.OnAppearing();
// Access the navigation parameters
if (Navigation.NavigationStack.LastOrDefault() is DetailPage lastPage)
{
ItemId = (int)Navigation.GetParam("ItemId");
ItemName = (string)Navigation.GetParam("ItemName");
}
}
}
এখানে, Navigation.GetParam("ItemId") এবং Navigation.GetParam("ItemName") ব্যবহার করে প্যারামিটারগুলো গ্রহণ করা হচ্ছে।
3. Conclusion
- Shell URI Routing: এটি আপনাকে অ্যাপ্লিকেশনের স্ক্রীনগুলির মধ্যে সহজভাবে নেভিগেট করতে সহায়তা করে। আপনি স্ক্রীনগুলোর রুট ব্যবহার করতে পারেন এবং কুইরি প্যারামিটার পাস করতে পারেন।
- Navigation Parameters: এটি আপনাকে পেজগুলোর মধ্যে ডেটা পাঠানোর সুযোগ দেয়। আপনি ডেটা পাস করতে পারেন এবং পরবর্তী পেজে সেই ডেটা গ্রহণ করতে পারেন।
এই দুটি বৈশিষ্ট্য ব্যবহারের মাধ্যমে আপনি .NET MAUI অ্যাপ্লিকেশনের নেভিগেশন ও ডেটা পাসিং প্রক্রিয়াকে আরও সহজ এবং কার্যকরী করতে পারবেন।
Read more